////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) Microsoft Corporation.  All rights reserved.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include <tinyhal.h>

struct PalEventDriver
{
public:

    HAL_DblLinkedList<PalEventListener> m_listenerList;

    static HRESULT Initialize();
    static HRESULT Uninitialize();
    static HRESULT PostEvent(unsigned int e, unsigned int param);
    static HRESULT EnlistListener(PalEventListener* listener);

private:
    static BOOL s_initialized;
};

extern PalEventDriver g_palEventDriver;


